package com.example.featuresdk.database

//import android.content.Context
//import com.example.featuresdk.repository.*
//import dagger.Module
//import dagger.Provides
//import dagger.hilt.InstallIn
//import dagger.hilt.android.qualifiers.ApplicationContext
//import dagger.hilt.components.SingletonComponent
//import kotlinx.coroutines.CoroutineScope
//import kotlinx.coroutines.SupervisorJob
//import javax.inject.Singleton
//
//@Module
//@InstallIn(SingletonComponent::class)
//class AppDatabaseModule {
//
//    @Provides
//    @Singleton
//    fun appDatabase(@ApplicationContext context: Context): AppDatabase {
//        return AppDatabaseFactory.createDatabase(context, CoroutineScope(SupervisorJob()))
//    }
//
//    @Provides
//    fun bookDao(appDatabase: AppDatabase): BookDao {
//        return appDatabase.bookDao()
//    }
//
//    @Provides
//    fun topicDao(appDatabase: AppDatabase): com.example.featuresdk.repository.TopicDao {
//        return appDatabase.topicDao()
//    }
//
//    @Provides
//    fun messageDao(appDatabase: AppDatabase): com.example.featuresdk.repository.MessageDao {
//        return appDatabase.messageDao()
//    }
//
//    @Provides
//    fun userDao(appDatabase: AppDatabase): UserDao {
//        return appDatabase.userDao()
//    }
//
//    @Provides
//    fun contactDao(appDatabase: AppDatabase): com.example.featuresdk.repository.ContactDao = appDatabase.contactDao()
//
//    @Provides
//    fun topicParticipantDao(appDatabase: AppDatabase): com.example.featuresdk.repository.TopicParticipantDao = appDatabase.topicParticipantDao()
//}